home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games Extra 1996 September / Amiga Games Extra CD-ROM 9-1996.iso / userbox / publicdomain / vim-4.2 / src / makefile.sas < prev    next >
Makefile  |  1996-05-29  |  10KB  |  312 lines

  1. #
  2. # Makefile for VIM on the Amiga, using SAS/Lattice C 6.0 to 6.56
  3. #
  4. # Do NOT use the peephole optimizer with a version before 6.55!
  5. # It messes up all kinds of things:
  6. # For 6.0 and 6.1, expand_env() will not work correctly.
  7. # For 6.2 and 6.3 the call to free_line in u_freeentry is wrong.
  8. # Don't know about 6.50, might work...
  9. # Version 6.56 seems to be working fine.
  10. # You should use Manx Aztec C whenever possible.
  11. #
  12. # The prototypes from Manx and SAS are incompatible. If the prototypes
  13. # were generated by Manx, first do "touch *.c; make proto" before "make".
  14. # The prototypes generated on Unix work for both.
  15. #
  16. # Note: Not all dependencies are included. This was done to avoid having
  17. #       to compile everything when a global variable or function is added.
  18.  
  19. #>>>>> choose options:
  20.  
  21. ### See feature.h for a list of optionals.
  22. ### Any other defines can be included here.
  23.  
  24. DEFINES = DEF=NO_ARP
  25.  
  26. #>>>>> if HAVE_TGETENT is defined objects/termlib.o has to be used
  27. #TERMLIB = objects/termlib.o
  28. TERMLIB = 
  29.  
  30. #>>>>> choose NODEBUG for normal compiling, the other for debugging and
  31. # profiling
  32. # don't switch on debugging when generating proto files, it crashes the
  33. # compiler.
  34. DBG = NODEBUG
  35. #DBG = DBG=SF
  36.  
  37. #>>>>> choose NOOPTPEEP for 6.0 to 6.3, NOOPT for debugging
  38. # with version 6.55 you can probably use OPT
  39. #OPTIMIZE=OPT
  40. OPTIMIZE=NOOPTPEEP
  41. #OPTIMIZE=NOOPT
  42.  
  43. #>>>>> end of choices
  44. ###########################################################################
  45.  
  46. CC = sc
  47. GST = vim.gst
  48. COPTS = SINT SCODE SDATA
  49.  
  50. CFLAGS = NOLINK $(OPTIMIZE) $(COPTS) DEF=AMIGA DEF=SASC $(DBG) $(DEFINES) GST=$(GST)
  51.  
  52. PROPT = DEF=PROTO GPROTO GPPARM
  53.  
  54. SRC =    alloc.c amiga.c buffer.c charset.c cmdcmds.c cmdline.c \
  55.     csearch.c digraph.c edit.c fileio.c getchar.c help.c \
  56.     linefunc.c main.c mark.c memfile.c memline.c message.c misccmds.c \
  57.     normal.c ops.c option.c quickfix.c regexp.c \
  58.     regsub.c screen.c search.c \
  59.     tables.c tag.c term.c undo.c window.c version.c
  60.  
  61. OBJ =    objects/alloc.o objects/amiga.o objects/buffer.o objects/charset.o \
  62.     objects/cmdcmds.o objects/cmdline.o objects/csearch.o \
  63.     objects/digraph.o objects/edit.o objects/fileio.o objects/getchar.o \
  64.     objects/help.o objects/linefunc.o objects/main.o objects/mark.o \
  65.     objects/memfile.o objects/memline.o objects/message.o \
  66.     objects/misccmds.o objects/normal.o objects/ops.o objects/option.o \
  67.     objects/quickfix.o objects/regexp.o objects/regsub.o \
  68.     objects/screen.o objects/search.o objects/tables.o objects/tag.o \
  69.     objects/term.o objects/undo.o objects/window.o $(TERMLIB)
  70.  
  71. PRO =    proto/alloc.pro proto/buffer.pro proto/charset.pro proto/cmdcmds.pro \
  72.     proto/cmdline.pro proto/csearch.pro proto/digraph.pro proto/edit.pro \
  73.     proto/fileio.pro proto/getchar.pro proto/help.pro proto/linefunc.pro \
  74.     proto/main.pro proto/mark.pro proto/memfile.pro proto/memline.pro \
  75.     proto/message.pro proto/misccmds.pro proto/normal.pro proto/ops.pro \
  76.     proto/option.pro proto/quickfix.pro proto/regexp.pro proto/regsub.pro \
  77.     proto/screen.pro proto/search.pro proto/tables.pro proto/tag.pro \
  78.     proto/term.pro proto/termlib.pro proto/undo.pro proto/window.pro \
  79.     proto/amiga.pro
  80.  
  81. Vim: objects $(OBJ) version.c
  82.     $(CC) $(CFLAGS) version.c OBJNAME=objects/
  83.     $(CC) LINK $(COPTS) $(OBJ) objects/version.o $(DBG) PNAME=Vim
  84.  
  85. debug: objects $(OBJ) version.c
  86.     $(CC) $(CFLAGS) version.c OBJNAME=objects/
  87.     $(CC) LINK $(COPTS) $(OBJ) objects/version.o $(DBG) PNAME=Vim
  88.  
  89. proto: $(GST) $(PRO)
  90.  
  91. ctags:
  92.     csh -c ctags $(SRC) *.h
  93.  
  94. # can't use delete here, too many file names
  95. clean:
  96.     csh -c rm -f $(OBJ) objects/version.o objects/mkcmdtab.o Vim $(GST) mkcmdtab cmdtab.h
  97.  
  98. $(GST)  : vim.h keymap.h macros.h ascii.h term.h structs.h
  99.     $(CC) $(CFLAGS) MGST=$(GST) vim.h
  100.  
  101. objects:
  102.     makedir objects
  103.  
  104. ###########################################################################
  105.  
  106. objects/alloc.o:    alloc.c  $(GST)
  107.     $(CC) $(CFLAGS) alloc.c OBJNAME=objects/
  108.  
  109. proto/alloc.pro:    alloc.c  $(GST)
  110.     $(CC) $(CFLAGS) GPFILE=proto/alloc.pro $(PROPT) alloc.c
  111.  
  112. objects/amiga.o:    amiga.c  $(GST)
  113.     $(CC) $(CFLAGS) amiga.c OBJNAME=objects/
  114.  
  115. proto/amiga.pro:    amiga.c $(GST)
  116.     $(CC) $(CFLAGS) GPFILE=proto/amiga.pro $(PROPT) amiga.c
  117.  
  118. objects/buffer.o:    buffer.c  $(GST)
  119.     $(CC) $(CFLAGS) buffer.c OBJNAME=objects/
  120.  
  121. proto/buffer.pro:    buffer.c $(GST)
  122.     $(CC) $(CFLAGS) GPFILE=proto/buffer.pro $(PROPT) buffer.c
  123.  
  124. objects/charset.o:    charset.c  $(GST)
  125.     $(CC) $(CFLAGS) charset.c OBJNAME=objects/
  126.  
  127. proto/charset.pro:    charset.c $(GST)
  128.     $(CC) $(CFLAGS) GPFILE=proto/charset.pro $(PROPT) charset.c
  129.  
  130. objects/cmdcmds.o:    cmdcmds.c  $(GST)
  131.     $(CC) $(CFLAGS) cmdcmds.c OBJNAME=objects/
  132.  
  133. proto/cmdcmds.pro:    cmdcmds.c $(GST)
  134.     $(CC) $(CFLAGS) GPFILE=proto/cmdcmds.pro $(PROPT) cmdcmds.c
  135.  
  136. objects/cmdline.o:    cmdline.c  $(GST) cmdtab.h
  137.     $(CC) $(CFLAGS) cmdline.c OBJNAME=objects/
  138.  
  139. proto/cmdline.pro:    cmdline.c $(GST) cmdtab.h
  140.     $(CC) $(CFLAGS) GPFILE=proto/cmdline.pro $(PROPT) cmdline.c
  141.  
  142. objects/csearch.o:    csearch.c  $(GST)
  143.     $(CC) $(CFLAGS) csearch.c OBJNAME=objects/
  144.  
  145. proto/csearch.pro:    csearch.c $(GST)
  146.     $(CC) $(CFLAGS) GPFILE=proto/csearch.pro $(PROPT) csearch.c
  147.  
  148. objects/digraph.o:    digraph.c  $(GST)
  149.     $(CC) $(CFLAGS) digraph.c OBJNAME=objects/
  150.  
  151. proto/digraph.pro:    digraph.c $(GST)
  152.     $(CC) $(CFLAGS) GPFILE=proto/digraph.pro $(PROPT) digraph.c
  153.  
  154. objects/edit.o:    edit.c  $(GST)
  155.     $(CC) $(CFLAGS) edit.c OBJNAME=objects/
  156.  
  157. proto/edit.pro:    edit.c $(GST)
  158.     $(CC) $(CFLAGS) GPFILE=proto/edit.pro $(PROPT) edit.c
  159.  
  160. objects/fileio.o:    fileio.c  $(GST)
  161.     $(CC) $(CFLAGS) fileio.c OBJNAME=objects/
  162.  
  163. proto/fileio.pro:    fileio.c $(GST)
  164.     $(CC) $(CFLAGS) GPFILE=proto/fileio.pro $(PROPT) fileio.c
  165.  
  166. objects/getchar.o:    getchar.c  $(GST)
  167.     $(CC) $(CFLAGS) getchar.c OBJNAME=objects/
  168.  
  169. proto/getchar.pro:    getchar.c $(GST)
  170.     $(CC) $(CFLAGS) GPFILE=proto/getchar.pro $(PROPT) getchar.c
  171.  
  172. objects/help.o:    help.c  $(GST)
  173.     $(CC) $(CFLAGS) help.c OBJNAME=objects/
  174.  
  175. proto/help.pro:    help.c $(GST)
  176.     $(CC) $(CFLAGS) GPFILE=proto/help.pro $(PROPT) help.c
  177.  
  178. objects/linefunc.o:    linefunc.c  $(GST)
  179.     $(CC) $(CFLAGS) linefunc.c OBJNAME=objects/
  180.  
  181. proto/linefunc.pro:    linefunc.c $(GST)
  182.     $(CC) $(CFLAGS) GPFILE=proto/linefunc.pro $(PROPT) linefunc.c
  183.  
  184. objects/main.o:    main.c  $(GST)
  185.     $(CC) $(CFLAGS) main.c OBJNAME=objects/
  186.  
  187. proto/main.pro:    main.c $(GST)
  188.     $(CC) $(CFLAGS) GPFILE=proto/main.pro $(PROPT) main.c
  189.  
  190. objects/mark.o:    mark.c  $(GST)
  191.     $(CC) $(CFLAGS) mark.c OBJNAME=objects/
  192.  
  193. proto/mark.pro:    mark.c $(GST)
  194.     $(CC) $(CFLAGS) GPFILE=proto/mark.pro $(PROPT) mark.c
  195.  
  196. objects/memfile.o:    memfile.c  $(GST)
  197.     $(CC) $(CFLAGS) memfile.c OBJNAME=objects/
  198.  
  199. proto/memfile.pro:    memfile.c $(GST)
  200.     $(CC) $(CFLAGS) GPFILE=proto/memfile.pro $(PROPT) memfile.c
  201.  
  202. objects/memline.o:    memline.c  $(GST)
  203.     $(CC) $(CFLAGS) memline.c OBJNAME=objects/
  204.  
  205. proto/memline.pro:    memline.c $(GST)
  206.     $(CC) $(CFLAGS) GPFILE=proto/memline.pro $(PROPT) memline.c
  207.  
  208. objects/message.o:    message.c  $(GST)
  209.     $(CC) $(CFLAGS) message.c OBJNAME=objects/
  210.  
  211. proto/message.pro:    message.c $(GST)
  212.     $(CC) $(CFLAGS) GPFILE=proto/message.pro $(PROPT) message.c
  213.  
  214. objects/misccmds.o:    misccmds.c  $(GST)
  215.     $(CC) $(CFLAGS) misccmds.c OBJNAME=objects/
  216.  
  217. proto/misccmds.pro:    misccmds.c $(GST)
  218.     $(CC) $(CFLAGS) GPFILE=proto/misccmds.pro $(PROPT) misccmds.c
  219.  
  220. objects/normal.o:    normal.c  $(GST) ops.h
  221.     $(CC) $(CFLAGS) normal.c OBJNAME=objects/
  222.  
  223. proto/normal.pro:    normal.c $(GST)
  224.     $(CC) $(CFLAGS) GPFILE=proto/normal.pro $(PROPT) normal.c
  225.  
  226. objects/ops.o:    ops.c  $(GST) ops.h
  227.     $(CC) $(CFLAGS) ops.c OBJNAME=objects/
  228.  
  229. proto/ops.pro:    ops.c $(GST)
  230.     $(CC) $(CFLAGS) GPFILE=proto/ops.pro $(PROPT) ops.c
  231.  
  232. objects/option.o:    option.c  $(GST)
  233.     $(CC) $(CFLAGS) option.c OBJNAME=objects/
  234.  
  235. proto/option.pro:    option.c $(GST)
  236.     $(CC) $(CFLAGS) GPFILE=proto/option.pro $(PROPT) option.c
  237.  
  238. objects/quickfix.o:    quickfix.c  $(GST)
  239.     $(CC) $(CFLAGS) quickfix.c OBJNAME=objects/
  240.  
  241. proto/quickfix.pro:    quickfix.c $(GST)
  242.     $(CC) $(CFLAGS) GPFILE=proto/quickfix.pro $(PROPT) quickfix.c
  243.  
  244. objects/regexp.o:    regexp.c  $(GST)
  245.     $(CC) $(CFLAGS) regexp.c OBJNAME=objects/
  246.  
  247. proto/regexp.pro:    regexp.c $(GST)
  248.     $(CC) $(CFLAGS) GPFILE=proto/regexp.pro $(PROPT) regexp.c
  249.  
  250. objects/regsub.o:    regsub.c  $(GST)
  251.     $(CC) $(CFLAGS) regsub.c OBJNAME=objects/
  252.  
  253. proto/regsub.pro:    regsub.c $(GST)
  254.     $(CC) $(CFLAGS) GPFILE=proto/regsub.pro $(PROPT) regsub.c
  255.  
  256. objects/screen.o:    screen.c  $(GST)
  257.     $(CC) $(CFLAGS) screen.c OBJNAME=objects/
  258.  
  259. proto/screen.pro:    screen.c $(GST)
  260.     $(CC) $(CFLAGS) GPFILE=proto/screen.pro $(PROPT) screen.c
  261.  
  262. objects/search.o:    search.c  $(GST)
  263.     $(CC) $(CFLAGS) search.c OBJNAME=objects/
  264.  
  265. proto/search.pro:    search.c $(GST)
  266.     $(CC) $(CFLAGS) GPFILE=proto/search.pro $(PROPT) search.c
  267.  
  268. objects/tables.o:    tables.c  $(GST)
  269.     $(CC) $(CFLAGS) tables.c OBJNAME=objects/
  270.  
  271. proto/tables.pro:    tables.c $(GST)
  272.     $(CC) $(CFLAGS) GPFILE=proto/tables.pro $(PROPT) tables.c
  273.  
  274. objects/tag.o:    tag.c  $(GST)
  275.     $(CC) $(CFLAGS) tag.c OBJNAME=objects/
  276.  
  277. proto/tag.pro:    tag.c $(GST)
  278.     $(CC) $(CFLAGS) GPFILE=proto/tag.pro $(PROPT) tag.c
  279.  
  280. objects/term.o:    term.c  $(GST)
  281.     $(CC) $(CFLAGS) term.c OBJNAME=objects/
  282.  
  283. proto/term.pro:    term.c $(GST)
  284.     $(CC) $(CFLAGS) GPFILE=proto/term.pro $(PROPT) term.c
  285.  
  286. objects/termlib.o:    termlib.c  $(GST)
  287.     $(CC) $(CFLAGS) termlib.c OBJNAME=objects/
  288.  
  289. proto/termlib.pro:    termlib.c $(GST)
  290.     $(CC) $(CFLAGS) GPFILE=proto/termlib.pro $(PROPT) termlib.c
  291.  
  292. objects/undo.o:    undo.c  $(GST)
  293.     $(CC) $(CFLAGS) undo.c OBJNAME=objects/
  294.  
  295. proto/undo.pro:    undo.c $(GST)
  296.     $(CC) $(CFLAGS) GPFILE=proto/undo.pro $(PROPT) undo.c
  297.  
  298. objects/window.o:    window.c  $(GST)
  299.     $(CC) $(CFLAGS) window.c OBJNAME=objects/
  300.  
  301. proto/window.pro:    window.c $(GST)
  302.     $(CC) $(CFLAGS) GPFILE=proto/window.pro $(PROPT) window.c
  303.  
  304. cmdtab.h: cmdtab.tab mkcmdtab
  305.     mkcmdtab cmdtab.tab cmdtab.h
  306.  
  307. objects/mkcmdtab.o:    mkcmdtab.c
  308.     $(CC) $(CFLAGS) mkcmdtab.c OBJNAME=objects/
  309.  
  310. mkcmdtab: objects/mkcmdtab.o
  311.     $(CC) LINK $(COPTS) objects/mkcmdtab.o PNAME=mkcmdtab
  312.